package com.jdh.fileUpload.service.fileUpload;

import com.jdh.fileUpload.utils.Result;
import com.jdh.fileUpload.vo.DiskFileIndexVo;
import com.jdh.fileUpload.vo.PointFileIndexVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @INTERFACEName: FileUploadService
 * @Author: jdh
 * @CreateTime: 2022-03-15
 * @Description:
 */
public interface FileUploadService {

    Result<Boolean> singleFileUpload(MultipartFile file);

    Result<Boolean> multipleFileUpload(MultipartFile[] files);

    Result<Boolean> singleFilePartUpload(MultipartFile filePart, Integer partIndex, Integer partNum, String fileName, String fileUid);

    Result<String> multipleFilePartUpload(MultipartFile filePart, Integer partIndex, Integer partNum, String fileName, String fileUid);

    Result<String> multipleFilePartFlashUpload(MultipartFile filePart, String fileInfo, String fileOther);

    Result<List<DiskFileIndexVo>> checkDiskFile(List<DiskFileIndexVo> upLoadFileListMd5);

    Result<PointFileIndexVo> checkUploadFileIndex(PointFileIndexVo pointFileIndexVo);

    Result<String> singleFilePartPointUpload(MultipartFile filePart, String fileInfo);
}
